Annotation Inference for Separation Logic Based Verifiers
نویسندگان
چکیده
With the years, program complexity has increased dramatically: ensuring program correctness has become considerably more difficult with the advent of multithreading, security has grown more prominent during the last decade, etc. As a result, static verification has become more important than ever. Automated verification tools exist, but they are only able to prove a limited set of properties, such as memory safety. If we want to prove full functional correctness of a program, other more powerful tools are available, but they generally require a lot more input from the programmer: they often need the code to be verified to be heavily annotated. In this paper, we attempt to combine the best of both worlds by starting off with a manual verification tool based on separation logic for which we develop techniques to automatically generate part of the required annotations. This approach provides more flexibility: for instance, it makes it possible to automatically check as large a part of the program as possible for memory errors and then manually add extra annotations only to those parts of the code where automated tools failed and/or full correctness is actually needed.
منابع مشابه
D6.6: Development-Time and On-Device Interplay
In the field of annotation-based source code level program verification for Java-likelanguages, separation-logic based verifiers offer a promising alternative to classic JML basedverifiers such as ESC/Java2, the Mobius tool or Spec#. Researchers have demonstrated theadvantages of separation logic based verification by showing that it is feasible to verify verychallenging (though...
متن کاملThe Belgian Electronic Identity Card: a Verification Case Study
In the field of annotation-based source code level program verification for Java-like languages, separation-logic based verifiers offer a promising alternative to classic JML based verifiers such as ESC/Java2, the Mobius tool or Spec#. Researchers have demonstrated the advantages of separation logic based verification by showing that it is feasible to verify very challenging (though very small)...
متن کاملROBUSTNESS OF THE TRIPLE IMPLICATION INFERENCE METHOD BASED ON THE WEIGHTED LOGIC METRIC
This paper focuses on the robustness problem of full implication triple implication inference method for fuzzy reasoning. First of all, based on strong regular implication, the weighted logic metric for measuring distance between two fuzzy sets is proposed. Besides, under this metric, some robustness results of the triple implication method are obtained, which demonstrates that the triple impli...
متن کاملImplicit Dynamic Frames ( draft )
An important, challenging problem in the verification of imperative programs with shared, mutable state is the frame problem in the presence of data abstraction. That is, one must be able to specify and verify upper bounds on the set of memory locations a method can read and write without exposing that method’s implementation. Separation logic is now widely considered the most promising solutio...
متن کاملViper: A Verification Infrastructure for Permission-Based Reasoning
The automation of verification techniques based on firstorder logic specifications has benefited greatly from verification infrastructures such as Boogie and Why. These offer an intermediate language that can express diverse language features and verification techniques, as well as back-end tools such as verification condition generators. However, these infrastructures are not well suited for v...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011